package com.web.cms.doc.facade;

import java.util.List;
import java.util.Map;

import com.blue.core.dict.State;
import com.web.cms.doc.message.ChannelRequest;
import com.web.cms.doc.message.ChannelResponse;

/**
 * 栏目接口
 * 
 * @author zhengj
 * @since 1.0 2016年12月26日
 */
public interface ChannelFacade
{
	/**
	 * 添加栏目
	 */
	ChannelResponse add(ChannelRequest request);
	
	/**
	 * 更新栏目
	 */
	ChannelResponse update(ChannelRequest request);
	
	/**
	 * 根据ID查询栏目
	 */
	ChannelResponse get(Integer id);
	
	/**
	 * 查询栏目列表
	 */
	List<ChannelResponse> list(Integer webId, Integer parentId, State state);
	
	/**
	 * 查询栏目列表，有层次
	 */
	Map<String, List<ChannelResponse>> listTree(Integer webId, State state);
	
	/**
	 * 刷新缓存
	 */
	void refresh();
	
}
